記憶體編輯
|
記憶體編輯表從GM第一版以來,就已經是一個非常實用的功能;
很多情況下,修改遊戲並不能單靠每一次的獨立搜尋,
因為遊戲中很多數值,並不會直接顯示出畫面,
但它們卻有非常大的機會存在您剛才找到的結果附近。
舉一個普遍的例子,在角色扮演的遊戲中,
每個人物幾乎都離不開有一堆屬性數值,
包括生命值、生命值上限、攻擊力、魔法、速度等。
一旦搜尋到生命值的位置,再到記憶體編輯表中查看,
不難發現剛才所提過的屬性都在它的後面,
這就太太減少很多不必要的搜尋次數。
再說,當在搜尋的過程中,感覺總是餘下幾個結果,
始終無法過濾下去時,記憶體編輯表也提供一個廣闊的視野,
給您更多提示作出更準確的估計。
記憶體編輯表之所以有這個名字,就是因為上文提到的一些原因,
本意是直接在記憶體的大海中作修改。
時至今天,GM9的記憶體編輯表已進化成一個有程式除錯能力的強大功能,
不再只有瀏覽記憶體能力,而且可以反編譯遊戲程式碼,
並提供單步執行的控制能力,連最低階最深入 CPU的暫存器,
都同樣會顯示出來。
留意一點,記憶體編輯表由這一代開始,已支援可以同時開啟多過一個表格;
這樣在研究遊戲程式碼的同時,
可以有其他表格來觀察其他記憶體位置的數值變化。
在使用這表格前,必須先確定GM是否已經設定了一個修改的目標程式。
如果沒有指定的話,就會出現沒有指定程序的提示視窗。
|
<共用介面>
<記憶體檢示介面>
<組合語言檢示介面>
<進階功能>
|
|
點擊圖上號碼,可直接跳至該介面的功能解說。
|
使用GM程式碼修改功能,新增一個新的鎖定項目。
回到圖表
以綠色來顯示在[搜尋表格]中的位置。
回到圖表
以紅色來顯示在[位址表格]中的位置。
回到圖表
以深藍色來顯示在[機械碼追蹤]中的位置。
回到圖表
顯示跳躍指令線。
組合語言當中,有很大部份的程式流程控制都是利用JUMP指令,
而這些指令可以亂放在任何地方,令修改時眼花撩亂。
這功能可以把JUMP指令圖像化,從而減低其混亂性,
對解讀遊戲程式非常有幫助。
回到圖表
顯示已知的函式名稱。
在記憶體的大海中,組合語言或機械碼都好像是一片非常長的布,
函式存在當中,真的不知那裡是起點,那裡是終點。
此功能開啟後,GM會自己偵查現正瀏覽的區域是屬於那個函式,
雖然名稱並不一定存在,但只要有記載在遊戲中
(很多在市面上出售的遊戲版本,都是經過後期處理,
此類資料未必會記載下來),都會在顯示地址的左方顯示出來。
回到圖表
顯示提示。
在分析遊戲程式時,GM9可以從旁協助探取一些相關的資訊,
例如CALL或JUMP的指令,最終會接觸到什麼地點等的資訊。
回到圖表
瀏覽執行緒。
一個遊戲程式可以同時有多條工作中的執行緒(Thread)。
簡單來說,每一條執行緒就像是工作人員一樣。
透過這功能,可以查看它們現正在處理什麼工作。
回到圖表
|
回到記憶體編輯選項
|
|
|
新北市三重區重新路五段609巷4號4F-9
TEL:02-2999-6883 FAX:02-2999-7511
http://www.kingformation.com.tw
客服專線:02-2999-6972
(c)2010 KINGFORMATION CP.,LTD.
|
|